home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / SourceCode / Palettes / IBMole / IBMole.m < prev    next >
Text File  |  1995-06-12  |  872b  |  52 lines

  1. #import "IBMole.h"
  2.  
  3. @interface Object(Superfy)
  4. -becomeSuperclass;
  5. @end 
  6.  
  7. @implementation Object(Superfy)
  8. -becomeSuperclass
  9. {    //this was helpful in turning SmartFields into TextFields..
  10.     //in general isa hacking is frowned upon...
  11.     //changing yourself to a subclass can really screw things up!
  12.     self->isa = [self superclass];
  13.     return self;
  14. }
  15. @end
  16. @implementation  IBMole
  17.  
  18. -init
  19. {
  20.     docList = [[List alloc] init];
  21.     tunnel = [NXConnection registerRoot:self withName:"IBMole"];
  22.     [tunnel runFromAppKit];
  23.     return self;
  24. }
  25.  
  26. -ibApp
  27. {
  28.     return NXApp;
  29. }
  30.  
  31. -docList
  32. {
  33.     id windowList;
  34.     id delegate;
  35.     int z;
  36.     
  37.     [docList empty];
  38.     windowList = [NXApp windowList];
  39.     z = [windowList count];
  40.     while (z--)
  41.     {
  42.         delegate = [[windowList objectAt:z] delegate];
  43.         if ([delegate respondsTo:@selector(document)])
  44.         {
  45.             [docList addObjectIfAbsent:[delegate document]];
  46.         }
  47.     }
  48.     return docList;
  49. }
  50.  
  51. @end
  52.